package com.syh.jn.scm.dto.supplier.finance;

import lombok.Data;

import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

@Data
public class ReceiptBillSto implements Serializable {
  /**
   * 对账单id
   */
  @NotNull(message = "对账单id不能为空")
  private Long statementOfAccountId;
  /**
   * 客户类型: 0上游, 1下游, 2物流
   */
  @NotNull(message = "客户类型不能为空")
  private Short customerType;
  /**
   * 录单人id
   */
  @NotNull(message = "录单人id不能为空")
  private Long brokerageId;
  /**
   * 客户id
   */
  @NotNull(message = "客户id不能为空")
  private Long customerId;
  /**
   * 我方开户行
   */
  private String ourAccountBank;
  /**
   * 我方开户支行
   */
  private String ourAccountBranchBank;
  /**
   * 我方银行账号
   */
  private String ourAccountBankCode;
  /**
   * 我方地址省 市 区
   */
  private String ourArea;
  /**
   * 我方支行地址
   */
  private String ourBranchBankAddress;
  /**
   * 对方开户行
   */
  private String otherPartyAccountBank;
  /**
   * 对方开户支行
   */
  private String otherPartyAccountBranchBank;
  /**
   * 对方银行账号
   */
  private String otherPartyAccountBankCode;
  /**
   * 对方地址省 市 区
   */
  private String otherPartyArea;
  /**
   * 对方支行地址
   */
  private String otherPartyBranchBankAddress;
  /**
   * 收款金额
   */
  @DecimalMin("0")
  private BigDecimal price;
  /**
   * 收款日期
   */
  @NotNull(message = "收款日期不能为空")
  private Long inputTimestamp;
  /**
   * 银行流水号
   */
  private String bankStatement;
  /**
   * 备注
   */
  private String remark;
  /**
   * 归属端id
   */
  private Long businessEntityId;
}
